package ${package.Parent}.provider.${cfg.module}.client;

import ${package.Parent}.domain.request.${table.entityPath}.*;
import ${package.Parent}.domain.response.${table.entityPath}.*;
import com.laicui.wms.framework.database.core.pojo.Page;
import jakarta.validation.Valid;

/**
 * <p>
 * ${table.comment!} Client 接口
 * </p>
 *
 * @author ${author}
 * @since ${date}
 */
public interface I${entity}Client {

    /**
     * 分页查询${table.comment!}
     *
     * @param request 分页查询请求
     * @return 分页结果
     */
    Page<${entity}PageResponse> find${entity}Page( ${entity}PageRequest request);

    /**
     * 根据ID查询${table.comment!}详情
     *
     * @param id 主键ID
     * @return 详情信息
     */
    ${entity}DetailResponse find${entity}ById(String id);

    /**
     * 创建${table.comment!}
     *
     * @param request 创建请求
     * @return 创建结果
     */
    void execCreate${entity}(${entity}CreateRequest request);

    /**
     * 更新${table.comment!}
     *
     * @param request 更新请求
     * @return 更新结果
     */
    void execUpdate${entity}(${entity}UpdateRequest request);

    /**
     * 删除${table.comment!}
     *
     * @param request 删除请求
     * @return 删除结果
     */
    void execDelete${entity}(${entity}DeleteRequest request);

    /**
     * 批量删除${table.comment!}
     *
     * @param request 批量删除请求
     * @return 删除结果
     */
    void execBatchDelete${entity}(${entity}BatchDeleteRequest request);
}